An Unfolding-Based Semantics for Logic Programming with Aggregates
نویسندگان
چکیده
The paper presents two equivalent de nitions of answer sets for logic programs with aggregates. These de nitions build on the notion of unfolding of aggregates, and they are aimed at creating methodologies to translate logic programs with aggregates to normal logic programs or positive programs, whose answer set semantics can be used to de ned the semantics of the original programs. The rst de nition provides an alternative view of the semantics for logic programming with aggregates described in [32, 34]. In particular, the unfolding employed by the rst de nition in this paper coincides with the translation of programs with aggregates into normal logic programs described in [33]. This indicates that the approach proposed in this paper captures the same meaning as the semantics discussed in [32, 34]. The second de nition is similar to the traditional answer set de nition for normal logic programs, in that, given a logic program with aggregates and an interpretation, the unfolding process produces a positive program. The paper shows how this de nition can be extended to consider aggregates in the head of the rules. These two approaches are very intuitive, general, and do not impose any syntactic restrictions on the use of aggregates, including support for use of aggregates as heads of program rules. The proposed views of logic programming with aggregates are simple and coincide with the ultimate stable model semantics [32, 34], and with other semantic characterizations for large classes of program (e.g., programs with monotone aggregates and programs that are aggregate-strati ed). Moreover, it can be directly employed to support an implementation using available answer set solvers. The paper describes a system, called ASP, that is capable of computing answer sets of programs with arbitrary (e.g., recursively de ned) aggregates. The paper also presents an experimental comparison of ASP with another system for computing answer sets of programs with aggregates, DLVA.
منابع مشابه
The Unfolding Semantics of Functional Programs
The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source code. Thus, it can be used for characterizing not-so-declarative constructs inmostly declarative languages, or for static analysis. However, unfolding-based sema...
متن کاملWell-Founded Semantics for Logic Programs with Aggregates: Implementation and Experimentation
Aggregate constructs are one of the major linguistic extensions to logic programming. In this paper, we focus on logic programming with monotone and antimonotone aggregate literals with the well-founded semantics defined in [1], which allows for aggregates occurring in recursive definitions. We formally show that computing this semantics is tractable and present a prototype system obtained by m...
متن کاملFuzzy Aggregates in Fuzzy Answer Set Programming
Fuzzy answer set programming [Saad, 2010; Saad, 2009; Subrahmanian, 1994] is a declarative framework for representing and reasoning about knowledge in fuzzy environments. However, the unavailability of fuzzy aggregates in disjunctive fuzzy logic programs, DFLP, with fuzzy answer set semantics [Saad, 2010] prohibits the natural and concise representation of many interesting problems. In this pap...
متن کاملUnfolding, Procedural and Fixpoint Semantics of Logic Programs
In this paper, we propose new notions related to unfolding semantics which clarify the relationship between procedural and fixpoint semantics of logic programs. We introduce 3 main new ideas : the unfolding rule has an associativity property that ensures the adequacy of unfolding semantics with the procedural semantics the uniformly fair computation rules which guarantees strong procedural equi...
متن کاملSemantics of Logic Programs with Aggregates
Aggregates are functions that take sets as arguments. Examples are the function that maps a set to the number of its elements or the function which maps a set to its minimal element. Aggregates are frequently used in relational databases and have many applications in combinatorial search problems and knowledge representation. Aggregates are of particular importance for several extensions of log...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/cs/0605038 شماره
صفحات -
تاریخ انتشار 2006